Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Turbo-Code</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Turbo-Code"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Turbo-Code rootpage-Turbo-Code skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Turbo-Code</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Turbo-Codes</b> sind eine Gruppe <a href="Fehlerkorrekturverfahren" title="Fehlerkorrekturverfahren">fehlerkorrigierender</a> <a href="Blockcode" title="Blockcode">Block-</a> oder <a href="Faltungscode" title="Faltungscode">Faltungscodes</a>, welche in der <a href="Digitale_Signalverarbeitung" title="Digitale Signalverarbeitung">digitalen Signalverarbeitung</a> zur gesicherten <a href="Daten%C3%BCbertragung" title="Datenübertragung">Datenübertragung</a> verwendet werden, beispielsweise auf <a href="Satelliten%C3%BCbertragung" class="mw-redirect" title="Satellitenübertragung">Satelliten-Übertragungsstrecken</a>. Sie wurden 1992 von <a href="Claude_Berrou" title="Claude Berrou">Claude Berrou</a> patentiert, damals beschäftigt bei der <a href="France_Telecom" class="mw-redirect" title="France Telecom">France Telecom</a>,<sup id="cite_ref-berru1_1-0" class="reference"><a href="#cite_note-berru1-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> und 1993 zusammen mit weiterführenden Arbeiten gemeinsam mit <a href="Alain_Glavieux" title="Alain Glavieux">Alain Glavieux</a> und <a href="Punya_Thitimajshima" title="Punya Thitimajshima">Punya Thitimajshima</a> veröffentlicht.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p><p>Die Entwicklung der Turbo-Codes war ein großer Fortschritt im Bereich der <a href="Kanalcodierung" class="mw-redirect" title="Kanalcodierung">Kanalcodierung</a>, da mit ihnen ein Verfahren zur Verfügung steht, mit dem die real erreichbare Kanalausnutzung nahe der theoretisch möglichen <a href="Kanalkapazit%C3%A4t" title="Kanalkapazität">Kanalkapazität</a> („<a href="Shannon-Limit" class="mw-redirect" title="Shannon-Limit">Shannon-Limit</a>“) liegt. Dies bedeutet, dass die <a href="Spektrale_Effizienz" title="Spektrale Effizienz">spektrale Effizienz</a> dieser Codes fast maximal ist, also vergleichbar mit dem <a href="Low-Density-Parity-Check-Code" title="Low-Density-Parity-Check-Code">Low-Density-Parity-Check-Codes</a>&nbsp;(LDPC).
</p>

<div class="mw-heading mw-heading2"><h2 id="Allgemeines">Allgemeines</h2></div>


<p>Ein Turbo-Codierer besteht aus mindestens zwei parallel oder seriell geschalteten Codierern für die elementare Codierung. Die elementaren Codierer stellen jeweils für sich einen bestimmten Kanalcode dar. Der erste Codierer erhält die Nutzdaten in unveränderter Form, und dessen Ausgabe wird über einen sogenannten <i><a href="Interleaving" title="Interleaving">Interleaver</a></i>, welcher die Datenreihenfolge nach bestimmten Regeln umstellt, an den zweiten Codierer als Eingabe weitergeleitet. Der zweite Codierer liefert, bei nur zwei Codierern, schließlich die zu übertragende Datenfolge.
</p><p>Entsprechend werden auf Empfängerseite auch mehrere Decodierer in umgekehrter Reihenfolge parallel oder seriell betrieben. Als Besonderheit tauschen diese Decodierer untereinander statistische Informationen zur Fehlerkorrektur aus und führen den Decodierungsprozess iterativ aus, wodurch sich für einen vergleichsweise geringen algorithmischen Aufwand eine sehr leistungsstarke Fehlerkorrektur ergibt. Zwar ist die Anzahl der Decodierer gleich der Anzahl der Codierer, die Anzahl der Iterationen beim Decodierungsprozess ist im Regelfall aber größer als die Anzahl der Decodierer.
</p><p>Die Informationen, die bei der Decodierung zwischen den einzelnen Decodern über den Interleaver hinweg zusätzlich ausgetauscht wird, wird auch als <i>extrinsische Information</i> bezeichnet und ist eine Wahrscheinlichkeitsaussage darüber, ob eine bestimmte Bitstelle des Codewortes eher logisch-<i>0</i> oder eher logisch-<i>1</i> entspricht. <a href="Extrinsisch" title="Extrinsisch">Extrinsisch</a> ist daran, dass der Decoder, der diese Information bildet, sie nicht selbst verwendet, sondern an den oder die anderen elementaren Decodierer, welche gemeinsam am verketteten Code beteiligt sind, „weiterreicht“ und für diese Decoder die Information quasi „von außen“ kommt.
</p><p>Damit verbunden ist, dass ein Turbo-Decoder, und somit auch die einzelnen elementaren Decoder darin, immer mit sogenannter <i>Soft-Decision</i> arbeiten. Im Englischen wird dies auch als <i>Soft-Input Soft-Output</i> oder <i>SISO</i> bezeichnet. Dies bedeutet, die einzelnen Stellen eines Codewortes mit bestimmten Wahrscheinlichkeiten zu verarbeiten.
</p><p>Durch diese iterative „Rückführung“ von Information zwischen den einzelnen Decodern leitet sich auch die Bezeichnung „Turbo“ ab, welche auf das Funktionsprinzip eines <a href="Turbolader" title="Turbolader">Turboladers</a> und dessen Rückführungsmechanismus zur Leistungssteigerung anspielt. Genau genommen stellt somit nur der Decodierungsprozess das eigentliche Besondere an einem Turbo-Code dar. Der Codierungsprozess hingegen ist nur eine parallele bzw. serielle Codeverkettung von Blockcodes bzw. Faltungscodes mittels eines Interleavers.
</p>
<div class="mw-heading mw-heading2"><h2 id="Klassifizierung">Klassifizierung</h2></div>
<p>Grundsätzlich können im Rahmen eines Turbo-Codes beliebige Komponentencodes eingesetzt werden. Es brauchen auch nicht einheitliche Codierer gewählt zu werden, sondern in der (parallelen bzw. seriellen) Codeverkettung können Codes mit unterschiedlichen Parametern kombiniert werden:
</p>
<ul><li>Beim Einsatz von <a href="Faltungscode" title="Faltungscode">Faltungscodes</a> spricht man von <i>Turbo-Convolutional-Codes&nbsp;(TCC)</i></li>
<li>Beim Einsatz von <a href="Blockcode" title="Blockcode">Blockcodes</a> spricht man von <i>Turbo-Product-Codes&nbsp;(TPC)</i>.</li></ul>
<p>Da bei Faltungscodes zur Decodierung relativ einfache, auf der <i>Soft-Decision</i> basierende Algorithmen wie der <a href="BCJR-Algorithmus" title="BCJR-Algorithmus">BCJR-Algorithmus</a> oder der Soft-Output-Viterbi-Algorithmus&nbsp;(SOVA), eine Erweiterung des <a href="Viterbi-Algorithmus" title="Viterbi-Algorithmus">Viterbi-Algorithmus</a>', zur Verfügung stehen, haben bei den Turbo-Codes vor allem die Turbo-Convolutional-Codes eine größere praktische Bedeutung. Dagegen ist bei den auf Blockcodes basierenden Turbo-Product-Codes eine „Soft-Decision“ seitens des Decoders aufwändiger.
</p>
<div class="mw-heading mw-heading3"><h3 id="Turbo-Convolutional-Codes_(TCC)"><span id="Turbo-Convolutional-Codes_.28TCC.29"></span>Turbo-Convolutional-Codes (TCC)</h3></div>
<p>Turbo-Convolutional-Codes sind parallel verkettete <a href="Systematischer_Code" title="Systematischer Code">systematische</a> Faltungscodes. Die Verkettung erfolgt <a href="Absender" title="Absender">senderseitig</a> durch mehrfache <a href="Kodierung" class="mw-redirect" title="Kodierung">Kodierung</a> zwischen einzelnen Codierern über eine Einheit zur <a href="Verw%C3%BCrfelung" title="Verwürfelung">Verwürfelung</a> (Interleaver). Durch diesen Prozess der Codeverkettung werden die verschiedenen Faltungscodes voneinander <a href="Korrelation" title="Korrelation">dekorreliert</a>, und die einzelnen Stellen hängen statistisch weniger voneinander ab. Es werden auch Verwürfler eingesetzt, welche auf <a href="Pseudozufall" title="Pseudozufall">Pseudozufall</a> basieren; sie sind noch Teil von Forschungsarbeiten.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Um bestimmte <a href="Coderate" class="mw-redirect" title="Coderate">Coderaten</a> zu ermöglichen, z.&nbsp;B. um eine bestimmte <a href="Datenrate" class="mw-redirect" title="Datenrate">Datenrate</a> genau zu erzielen, werden – meist periodisch – gewisse Codestellen der Komponentencodes <a href="Faltungscode#Punktierung" title="Faltungscode">punktiert</a>, d.&nbsp;h. nicht gesendet. Dies muss folglich auf Empfängerseite als Auslöschung berücksichtigt werden.
</p><p>Folgendes Beispiel soll die Punktierung verdeutlichen: Ein Kodierer erzeuge 12&nbsp;Bit an seinem Ausgang, die übertragen werden sollen. Durch die Punktierung werden z.&nbsp;B. 2&nbsp;Bits weggelassen. Da jetzt nur 10&nbsp;Bit übertragen werden müssen, steigt der <a href="Datendurchsatz" title="Datendurchsatz">Durchsatz</a> um&nbsp;12/10, also um den Faktor&nbsp;1,2. Die fehlenden zwei Bits erscheinen dem Decoder als zusätzliche Störung und verschlechtern die BER&nbsp;(<a href="Bitfehlerrate" class="mw-redirect" title="Bitfehlerrate">Bit Error Rate</a>). Es können nicht beliebig viele Bits punktiert werden, da es eine Grenze gibt, bei welcher der Decoder die Information noch rekonstruieren kann.
</p>
<div class="mw-heading mw-heading3"><h3 id="Turbo-Product-Codes_(TPC)"><span id="Turbo-Product-Codes_.28TPC.29"></span>Turbo-Product-Codes (TPC)</h3></div>
<p>Turbo-Product-Codes sind seriell verkettet. Als Interleaver kommt meist eine einfache Zeilen-/Spaltenbildung zur Anwendung: Die Datenbits werden in einer <a href="Matrix_(Mathematik)" title="Matrix (Mathematik)">Matrix</a> angeordnet. Bei nur zwei Komponentencodes wird der erste Blockcode über alle Zeilen der Matrix gebildet. Daran anschließend bildet der zweite Blockcode die Codewörter über alle Spalten der Matrix.
</p><p>Erste Arbeiten zu Product-Codes gehen auf <a href="Peter_Elias" title="Peter Elias">Peter Elias</a> aus dem Jahr&nbsp;1954 zurück.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Product-Codes wurden in den 1990er&nbsp;Jahren zu den Turbo-Product-Codes weiterentwickelt. Viele Turbo-Product-Codes sind durch <a href="Patent" title="Patent">Patente</a> der <a href="France_Telecom" class="mw-redirect" title="France Telecom">France Telecom</a> geschützt.
</p>
<div class="mw-heading mw-heading2"><h2 id="Anwendungsbeispiele">Anwendungsbeispiele</h2></div>
<ul><li>In <a href="Long_Term_Evolution" title="Long Term Evolution">LTE</a>, <a href="Universal_Mobile_Telecommunications_System" title="Universal Mobile Telecommunications System">UMTS</a> und <a href="DVB-RCS" class="mw-redirect" title="DVB-RCS">DVB-RCS</a> werden neben Faltungs-Codes auch Turbo-Convolutional-Codes eingesetzt.</li>
<li>Die <a href="ESA" class="mw-redirect" title="ESA">ESA</a>-<a href="Raumsonde" title="Raumsonde">Raumsonden</a> <a href="SMART-1" title="SMART-1">SMART-1</a> und <a href="Rosetta_(Sonde)" class="mw-redirect" title="Rosetta (Sonde)">Rosetta</a> nutzen Turbo-Codes bei der Kommunikation.</li>
<li>In <a href="Funknetz" title="Funknetz">Funknetzen</a> (<a href="WLAN" class="mw-redirect" title="WLAN">WLAN</a>) zur Datenübertragung nach dem Standard <a href="Institute_of_Electrical_and_Electronics_Engineers" title="Institute of Electrical and Electronics Engineers">IEEE</a>&nbsp;802.16 im Rahmen von&nbsp;<a href="WiMAX" title="WiMAX">WiMAX</a> werden unter anderem Turbo-Product-Codes verwendet.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-berru1-1"><span class="mw-cite-backlink"><a href="#cite_ref-berru1_1-0">↑</a></span> <span class="reference-text">
<span class="cite">Patent <a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/publicationDetails/biblio?locale=de_EP&amp;CC=US&amp;NR=5446747">US5446747</a>: <i>Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder.</i> Angemeldet am <span style="white-space:nowrap;">16.&nbsp;April 1992</span>, veröffentlicht am <span style="white-space:nowrap;">25.&nbsp;August 1995</span>, Anmelder: France Telecom, Telediffusion De France S.A., Erfinder: Claude Berrou.</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft_id=US5446747&amp;rft.applcc=US&amp;rft.title=Error-correction+coding+method+with+at+least+two+systematic+convolutional+codings+in+parallel%2C+corresponding+iterative+decoding+method%2C+decoding+module+and+decoder&amp;rft.inventor=Claude+Berrou&amp;rft.assignee=France+Telecom%2C+Telediffusion+De+France+S.A.&amp;rft.appldate=1992-04-16&amp;rft.pubdate=1995-08-25">‌</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Claude Berrou, Alain Glavieux und Punya Thitimajshima: <a rel="nofollow" class="external text" href="http://www-elec.enst-bretagne.fr/equipe/berrou/Near%20Shannon%20Limit%20Error.pdf"><i>Near Shannon Limit error-correcting coding and decoding: Turbo-codes</i></a>, Proceedings of IEEE International Communications Conference 1993</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">J. Li, E. Qi, Q. Liang: <i>Pseudo-random Interleaver Design for Turbo Codes.</i> Proceeding of the Communications and Computer Networks, CCN 2002, <a rel="nofollow" class="external text" href="http://www.actapress.com/PaperInfo.aspx?PaperID=24245&amp;reason=500">online</a></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text">Peter Elias: <cite style="font-style:italic">Error-Free Coding</cite>. Technical Report 285. Hrsg.: Massachusetts Institute of Technology, Research Laboratory of Electronics. September 1954 (<a rel="nofollow" class="external text" href="http://dspace.mit.edu/bitstream/handle/1721.1/4795/RLE-TR-285-14266170.pdf">Online</a> [PDF; <span style="white-space:nowrap">912<span style="display:inline-block;width:.2em">&nbsp;</span>kB</span>]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Turbo-Code&amp;rft.au=Peter+Elias&amp;rft.btitle=Error-Free+Coding&amp;rft.date=1954-09&amp;rft.genre=book" style="display:none">&nbsp;</span></span>
</li>
</ol>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li><a href="Karl-Dirk_Kammeyer" title="Karl-Dirk Kammeyer">Karl-Dirk Kammeyer</a>, Volker Kühn: <cite style="font-style:italic">MATLAB in der Nachrichtentechnik</cite>. J.Schlembach Fachverlag, Weil der Stadt 2001, ISBN 3-935340-05-2.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Turbo-Code&amp;rft.au=Karl-Dirk+Kammeyer%2C+Volker+K%C3%BChn&amp;rft.btitle=MATLAB+in+der+Nachrichtentechnik&amp;rft.date=2001&amp;rft.genre=book&amp;rft.isbn=3935340052&amp;rft.place=Weil+der+Stadt&amp;rft.pub=J.Schlembach+Fachverlag" style="display:none">&nbsp;</span></li>
<li>Todd K. Moon: <cite style="font-style:italic">Error Correction Coding. Mathematical Methods and Algorithms</cite>. Wiley-Interscience, Hoboken NJ 2005, ISBN 0-471-64800-0.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Turbo-Code&amp;rft.au=Todd+K.+Moon&amp;rft.btitle=Error+Correction+Coding.+Mathematical+Methods+and+Algorithms&amp;rft.date=2005&amp;rft.genre=book&amp;rft.isbn=0471648000&amp;rft.place=Hoboken+NJ&amp;rft.pub=Wiley-Interscience" style="display:none">&nbsp;</span></li>
<li>Markus Hufschmid: <cite style="font-style:italic">Information und Kommunikation. Grundlagen der Informationsübertragung</cite>. Vieweg und Teubner, Wiesbaden 2006, ISBN 3-8351-0122-6 (<i>Lehrbuch – Informationstechnik</i>).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Turbo-Code&amp;rft.au=Markus+Hufschmid&amp;rft.btitle=Information+und+Kommunikation.+Grundlagen+der+Informations%C3%BCbertragung&amp;rft.date=2006&amp;rft.genre=book&amp;rft.isbn=3835101226&amp;rft.place=Wiesbaden&amp;rft.pub=Vieweg+und+Teubner" style="display:none">&nbsp;</span></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-08-15" href="https://de.wikipedia.org/wiki/?title=Turbo-Code&amp;oldid=247720330">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>